package com.wicket.okrbff.biz.service.dto.common;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.ArrayList;
import javax.validation.constraints.NotNull;
import lombok.Data;
import java.util.Objects;
    
    
    /**
     * @desc BffTargetTempDto
     * @使用场景
     */
    @Data
    public class BffTargetTempDto  implements Serializable {
      
    /**
     * 指标模板ID 
     */
    @ApiModelProperty("指标模板ID")
    private String	 objectiveTemplateId;

    /**
     * 指标模板类型 QUALITATIVE:定性 RATION:定量
     */
    @ApiModelProperty("指标模板类型")
    private String	 objectiveTemplateType;

    /**
     * 是否有目标值 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否有目标值")
    private String	 isTargetValue;

    /**
     * 指标业务类型 NUMBER_GROWTH:数量增长型 NUMBER_DECLINE:数量降幅型 PERCENTAGE_GROWTH:百分比增长型 PERCENTAGE_DECLINE:百分比降幅型 PROGRESS:进度型 RATIO_GROWTH:比率增长型 RATIO_DECLINE:比率降幅型 SUBJECTIVE_QUALITATIVE:主观定性
     */
    @ApiModelProperty("指标业务类型")
    private String	 objectiveValueType;

    /**
     * 是否左侧比例型 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否左侧比例型")
    private String	 isLeft;

    /**
     * 是否用于评价模板 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否用于评价模板")
    private String	 isUseevaluationTemplate;

    /**
     * 单位 INDIVIDUAL:个 DOOR:门 TERM:项 PIECE:篇 YUAN:元 FEN:分 WAN_YUAN:万元 PERCENT:百分率 SET:套 TIMES:次 PART:部 NNT:人
     */
    @ApiModelProperty("单位")
    private String	 unit;

    /**
     * 目标值数据源 MANUAL_FILLING:人工填报 SYSTEM_DOCKING:外部系统对接
     */
    @ApiModelProperty("目标值数据源")
    private String	 objectiveValueSource;

    /**
     * 是否结果指标 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否结果指标")
    private String	 isResultIndicator;

    /**
     * 指标模板编号 
     */
    @ApiModelProperty("指标模板编号")
    private String	 objectiveTemplateNumber;

    /**
     * 指标模板名称 
     */
    @ApiModelProperty("指标模板名称")
    private String	 objectiveTemplateName;

    /**
     * 主体生命周期 CURRENTLY_VALID:当前有效 EDITING:正在编辑 ARCHIVING:历史存档
     */
    @ApiModelProperty("主体生命周期")
    private String	 subjectLifeCycle;
/**
     * 是否推荐 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否推荐")
    private String	 isRecommend;

    /**
     * 操作人就职记录ID 
     */
    @ApiModelProperty("操作人就职记录ID")
    private String	 operationInductionId;

    /**
     * 操作时间 
     */
    @ApiModelProperty("操作时间")
    private Date	 operateTime;

    /**
     * 用户昵称 
     */
    @ApiModelProperty("用户昵称")
    private String	 nickName;

    /**
     * 真实姓名 
     */
    @ApiModelProperty("真实姓名")
    private String	 idCardName;

    /**
     * 真实头像 
     */
    @ApiModelProperty("真实头像")
    private String	 userFace;
@Override
  public boolean equals(Object o) {
      if (this == o) return true;
      if (o == null || getClass() != o.getClass()) return false;
      if (!super.equals(o)) return false;
      BffTargetTempDto that = (BffTargetTempDto) o;
      return  objectiveTemplateId == that.objectiveTemplateId&&objectiveTemplateType == that.objectiveTemplateType&&isTargetValue == that.isTargetValue&&objectiveValueType == that.objectiveValueType&&isLeft == that.isLeft&&isUseevaluationTemplate == that.isUseevaluationTemplate&&unit == that.unit&&objectiveValueSource == that.objectiveValueSource&&isResultIndicator == that.isResultIndicator&&objectiveTemplateNumber == that.objectiveTemplateNumber&&objectiveTemplateName == that.objectiveTemplateName&&subjectLifeCycle == that.subjectLifeCycle&&isRecommend == that.isRecommend&&operationInductionId == that.operationInductionId&&operateTime == that.operateTime&&nickName == that.nickName&&idCardName == that.idCardName&&userFace == that.userFace;
    }
@Override
  public int hashCode() {
      return Objects.hash(super.hashCode(), objectiveTemplateId,objectiveTemplateType,isTargetValue,objectiveValueType,isLeft,isUseevaluationTemplate,unit,objectiveValueSource,isResultIndicator,objectiveTemplateNumber,objectiveTemplateName,subjectLifeCycle,isRecommend,operationInductionId,operateTime,nickName,idCardName,userFace);
    }
    
      

    }
   